/**
 * @param {string} senate
 * @return {string}
 */
var predictPartyVictory = function(senate) {
    let status=new Array(senate.length).fill(true);


    let flag=0;
    while (!flag){
        randOut(senate,status);
        flag=checkStatusAllInTurns(senate,status);
    }

    if(flag===1){
         console.log('Dire');
        return 'Dire';
    }else {
         console.log('Radiant');
        return 'Radiant';
    }



};

function checkStatusAllInTurns(senate,status) {
    let rs=0;
    let ds=0;
    // console.log(status);
    for (let i = 0; i < senate.length; i++) {
        if(senate[i]==='R'){
            if(status[i]){
                rs+=1
            }
        }else {
            if(status[i]){
                ds+=1
            }
        }
    }

    // console.log(rs + '  ' + ds);
    if(rs===0){
        return 1;
    }else {
        if(ds===0){
            return 2;
        }
        return 0;
    }
}

function randOut(senate,status) {
    for (let i = 0; i < status.length; i++) {
        if(status[i]){
            let voteOne=true;
            if(senate[i]==='R'){
                for (let j = i+1; j < senate.length; j++) {
                    if(senate[j]==='D' && status[j]===true){
                        status[j]=false;
                        break;
                    }
                    if(j===senate.length-1 && voteOne){
                        //要解决从自己之后开始投票并且到了队伍底都没投出对方的问题
                        j=0;
                        voteOne=false;
                        // 只准回去一次，否则死循环
                    }



                }
            }else {
                for (let j = i+1; j < senate.length; j++) {
                    if(senate[j]==='R' && status[j]===true){
                        status[j]=false;
                        break;
                    }
                    if(j===senate.length-1 && voteOne){
                        //要解决从自己之后开始投票并且到了队伍底都没投出对方的问题
                        j=0;
                        voteOne=false;
                        // 只准回去一次，否则死循环
                    }

                }
            }
        }
    }
}


(()=>{
    predictPartyVictory("DRRDRDRDRDDRDRDR")
    //我干我没办法了，我都不知道为什么上面是R会赢
})();
